process.stdout.write("Hello, world!\n");

// 当输入exit时, 进入process.stdin后面的代码块,
// 启用输入流
const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  error: process.stderr,
  prompt: "请输入内容 (输入 exit 退出): ",
});

console.log("开始监听输入...");
rl.prompt();

// 监听输入事件
rl.on("line", (input) => {
  // 移除输入前后的空白字符
  const command = input.trim();

  if (command.toLowerCase() === "exit") {
    console.log("收到退出命令，停止监听输入");
    rl.close(); // 关闭输入流
  } else {
    console.log(`你输入了: ${command}`);
    rl.prompt(); // 继续等待输入
  }
});

// 当输入流关闭时触发
rl.on("close", () => {
  console.log("\n--- 开始执行后续自定义逻辑 ---");

  // 这里可以编写退出输入监听后的自定义逻辑
  performCustomLogic();

  console.log("\n程序执行完毕");
  process.exit(0); // 正常退出程序
});

// 自定义逻辑函数
function performCustomLogic() {
  console.log("正在执行自定义任务...");

  // 示例：模拟一些处理过程
  setTimeout(() => {
    console.log("自定义逻辑处理完成");
    console.log("可以在这里添加任何需要在输入结束后执行的操作");
  }, 1500);
}
// no action
process.stderr.write("This is an error message.\n");
